/*
//抽象类
abstract class Animal{
    public int a ;
    public static void b (){
        System.out.println("抽象类当中的静态方法");
    }

      abstract void shout();
      public void  eat(){
          System.out.println("动物正在吃饭");
      }

}
 abstract    class Dog extends Animal{

    @Override
    void shout() {
        System.out.println("狗发出汪汪叫");
    }

}
public class Test {
    public static void main(String[] args) {
        // 什么是抽象类？
        //抽象类是一种特殊类，它为子类提供一个的通用的模版，使得子类继承
        //对于抽象类所描述的事物，现实世界中是不存在的，比如动物，现在世界中不存在动物这个实体！

        //抽象类是用来被继承的
        Animal animal = new Animal();
}
*/

//接口：
//接口在日常生活中有插座的接口，有电脑USB的接口，这些接口都遵循着各自统一的标准
//这体现了在一堆设备（比如一些电脑）中有着共同的标准。

//在java中
// 接口的思想即一些类公共的行为规范。
//接口的含义是：具有....的特性
// 比如会游泳——狗，鱼等，这个行为是这两个类共有的特性。

/*interface A{
    void   func1();
}
interface B{
    void func2();

}
*//*interface C extends A,B{
    void func3();

}*//*

class test1 implements A ,B{
 *//*   @Override
    public void func3() {

    }*//*

    @Override
    public void func2() {

    }

    @Override
    public void func1() {

    }
}

public class Test {
    public static void main(String[] args) {
        *//*   C c = new C() ;*//*
     //   C c = new test1();

    }
}*/
/*interface ISwiming2{
    //关于接口的多态
    void func1();

}
class Dog implements ISwiming2{
    String name;

    public Dog(String name) {
        this.name = name;
    }

    public void func1(){
        System.out.println( this.name+ "会游泳");

    }
}
class Fish implements ISwiming2{
    String name;

    public Fish(String name) {
        this.name = name;
    }

    public void func1(){
        System.out.println( this.name+"会游泳");
    }
}
public class Test {
    public static void func2(ISwiming2 iSwiming2){
        iSwiming2.func1();
    }
    public static void main(String[] args) {
        Dog dog = new Dog("旺财");
        func2(dog);
        Fish fish =new Fish("小鱼儿");
        func2(fish);
    }
}*/















